package com.dhj.jvmstudy.chapter04;

/**
 * 虚拟机栈的结束
 * 方法的结束分为两种方式：
 * 1、正常结果，以return为代表。
 * 2、方法执行过程中出现了未捕获的异常，以抛出异常的形式结束。
 */
public class StackFrameTest2 {

    public static void main(String[] args) {
        StackFrameTest2 stackFrameTest = new StackFrameTest2();
        stackFrameTest.methodA();
        System.out.println("main方法正常结束。");
    }

    private void methodA(){
        System.out.println("methodA开始执行。。。");
        methodB();
        System.out.println("methodA执行结束。。。");
        System.out.println(10 / 0);
    }

    private int methodB(){
        System.out.println("methodB开始执行。。。");
        int k = 80;
        methodC();
        System.out.println("methodB即将结束。。。");
        return k;
    }

    private String methodC(){
        System.out.println("methodC开始执行。。。");
        String str = "hello stack.";
        System.out.println("methodC即将执行。。。");
        return str;
    }
}
